import React, {Component,PropTypes} from 'react';

import {modal} from '../modal/modal'


// class Confirm extends Component {

//     constructor(props) {
//         super(props);

//         //绑定this指针
//         this.cancleClose = this.cancleClose.bind(this);
//         this.okClose = this.okClose.bind(this);
//         this.show = this.show.bind(this);
//         this.hidden = this.hidden.bind(this);
//     }

//     show(){
//         this.refs.modal.show()
//     }

//     cancleClose(){
//         this.clickType=0;
//         this.refs.modal.hide()
//     }

//     okClose(){
//         this.clickType=1;
//         this.refs.modal.hide()
//     }    

//     hidden(){
//         if(this.clickType){
//             if(toString.call(this.props.okHidden)=="[object Function]"){
//                 this.props.okHidden();
//             }
//         }else{
//             if(toString.call(this.props.cancleHidden)=="[object Function]"){
//                 this.props.cancleHidden();
//             }
//         }
//     }

//     render() {
//         return (
//             <ModalElement ref="modal" {...this.props} leaveAfter={this.hidden} closeIcon={false} type="confirm nomal">
//                 <div className="title">{this.props.title||'提示'}</div>
//                 <div className="content">
//                     {this.props.msg}
//                 </div>
//                 <div className="footer">
//                     <button className="btn btn-default" onClick={this.cancleClose}>
//                         {this.props.btnStr1||'取消'}
//                     </button>
//                     <button className="btn btn-primary" onClick={this.okClose}>
//                         {this.props.btnStr2||'确定'}
//                     </button>                        
//                 </div>
//             </ModalElement>
//         );
//     }
// }

// Confirm.PropTypes = {
//     title: PropTypes.string,
//     msg: PropTypes.string,
//     btnStr1: PropTypes.string,
//     btnStr2: PropTypes.string,
//     okHidden: PropTypes.func,
//     cancleHidden: PropTypes.func
// }


let confirm=function(props){

    let clickType;

    let cancleClose = function(){
        clickType=0;
    }

    let okClose = function(){
        clickType=1;
    }   

    let hidden=function(){
        if(clickType){
            if(toString.call(props.okHidden)=="[object Function]"){
                props.okHidden();
            }
        }else{
            if(toString.call(props.cancleHidden)=="[object Function]"){
                props.cancleHidden();
            }
        }
    }

    modal({
        children:(<div>
                    <div className="content">
                        {props.msg}
                    </div>
                    <div className="footer">
                        <button className="btn btn-default" data-close onClick={cancleClose}>
                            {props.btnStr1||'取消'}
                        </button>
                        <button className="btn btn-warning" data-close onClick={okClose}>
                            {props.btnStr2||'确定'}
                        </button>                         
                    </div>
                </div>),
        closeIcon:false,
        closeByBack:false,
        leaveAfter:hidden,
        type:'confirm nomal'
    });
}

export default confirm;